System and method for conducting dependency analysis of business components

ABSTRACT

A system and method is provided for the ontological representation of the meta-models of businesses and their processes, activities, and components in one or more semantic web markup languages to enable reasoning and analyzing of instances of enterprise business models to infer relationships of business entities which are previously unknown or not clear from the original business model instance.

This invention is related to commonly owned patent application Ser. No.11/176,371 for “SYSTEM AND METHOD FOR ALIGNMENT OF AN ENTERPRISE TO ACOMPONENT BUSINESS MODEL” which is incorporated by reference herein.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to model-driven businessanalysis and transformation, and more particularly to a system andmethod for ontological representation of the meta-models of businessesand their processes, activities, and components so as to inferpreviously unknown or unclear relationships of business entities.

2. Background Description

Business component models can be used in many ways, almost all of whichrequire an understanding of what the business wants to achieve.Component business models do not introduce any new or special meaningfor “business process”. The term is important but it is not used in anyspecial way. We speak of the sub-processes within a component. We speakof an end-to-end process that provides an external service. We can anddo analyze the network of collaborating components (including externalcomponents) that make up a process or a sub-process.

However, for the association of Key Performance Indicators (KPIs) withbusiness components, business consultants applying component businessmodels need to determine which components are associated with, andinfluence, a given KPI. They also need to associate KPIs withcomponents, when it is more natural to associate KPIs with activities.Furthermore, to identify dependency among business components (byprocess or by KPI), consultants need to determine how components dependon each other based on the control flow defined by processes. Asystematic and automated framework for linking KPIs, activities andcomponents would better enable a deep analysis of the relationshipbetween components.

SUMMARY OF THE INVENTION

In order to address these problems of the prior art, it is an object ofthe present invention to capture the relationship between KPIs in asemantic model.

Another object of the invention is to create a semantic model thatassociates KPIs with activities, and activities with components.

It is also an object of the invention to create a semantic model thatassociates processes with activities, and activities with components.

A further object of the invention is to automatically infer thedependencies between components.

The invention uses the Component Business Model (CBM) described inrelated patent application Ser. No. 11/176,371 for “SYSTEM AND METHODFOR ALIGNMENT OF AN ENTERPRISE TO A COMPONENT BUSINESS MODEL” (hereaftertermed “the above referenced foundation patent application”). CBMprovides a logical and comprehensive view of the enterprise, in termsthat cut across commercial enterprises in general and industries inparticular. The component business model as described in the abovereferenced foundation patent application is based upon a logicalpartitioning of business activities into non-overlapping managingconcepts, each managing concept being active at the three levels ofmanagement accountability: providing direction to the business,controlling how the business operates, and executing the operations ofthe business. The term “managing concept” is specially defined asdescribed in the above referenced foundation patent application, and isnot literally a “managing concept” as that phrase would be understood inthe art. For the purpose of the present invention, as for the relatedinvention, “managing concept” is the term associated with the followingaspects of the partitioning methodology. First, the methodology is apartitioning methodology. The idea is to begin with a whole andpartition the whole into necessarily non-overlapping parts. Second,experience has shown that the partitioning process works best whenaddressed to an asset of the business. The asset can be furtherdescribed by attributes. Third, the managing concept must includemechanisms for doing something commercially useful with the asset. For asensibly defined managing concept these mechanisms must cover the fullrange of management accountability levels (i.e. direct, control andexecute). Managing concepts are further partitioned into components,which are cohesive groups of activities. The boundaries of a componentusually fall within a single management accountability level. It isimportant to emphasize that the boundaries between managing concepts(and between components within managing concepts) are logical ratherthan physical.

Component Business Modeling (CBM) is a technique for modeling anenterprise as non-overlapping components in order to identifyopportunities for innovation and improvement. The modeling is of thebusiness itself, not of applications or technology. CBM is an analyticaltool; some call it a lens through which they can examine and analyze abusiness. CBM is complementary to process modeling techniques. Abusiness process can be interpreted in CBM as collaboration among anetwork of business components. Conversely, from a process perspective,a business component is a closely related group of sub-processes.

CBM models a business as a set of business components. A businesscomponent is a part of an enterprise that has the potential to operateindependently, in the extreme case as a separate company, or as part ofanother company. A business component is a logical view of part of anenterprise that includes the resources, people, technology and know-hownecessary to deliver some value.

A business offers goods or services in exchange for money or for othergoods or services. So must a business component if it is to operateindependently. In turn, a business component uses goods and servicesprovided by other components and external suppliers. The single term“business service” is used to mean some goods or service that a businesscomponent offers to other business components and/or to externalparties.

The key characteristic of a business component is that a user of itsservices doesn't have to be aware of how the component works. A usertherefore doesn't need to know what people, processes and technology arebeing used, nor what other supplier services are contributing to theresult. The user of a service only knows about the service itself, alongwith whatever associated properties are relevant, for example: theprice, agreed service levels, terms and conditions. If a businesscomponent improves its technology, reengineers its internal processes orsubcontracts some internal operations, its users need not know.

Business components are only potentially independent. They may beidentified as “target” components, even when they are still entangledwith the rest of the business and when the services they offer are notfully defined, as described more fully in the above referencedfoundation patent application. A business component can also becharacterized by associating it with a set of business activities. Abusiness activity is simply something the enterprise does, specified ata level that the enterprise considers to be appropriate.

This definition of a business component is consistent with the standardusage of system component and software component, and in particular withthe use of component in the ADS (Architecture Description Standard) andin the Component Model work product description in IBM Global ServicesMethod. Each is characterized by encapsulation: the user of acomponent's services does not (need to) know about the inside of thecomponent. The obvious difference is that a software component offerssoftware services, whereas a business component offers businessservices.

There is some similarity between a strategic capability in CBM and asystem quality or non-functional requirement (NFR) in systemdevelopment. For example, “sub-second response on customer transactions”is a typical NFR on a system. It is a desired or necessary property ofthe whole system. As a result of analysis, the requirement may berestated in terms of services offered by relatively few components.These components use other components, which in turn use yet others. Tomeet the requirement, a large number of components may have tocontribute.

Heat map analysis, as described in the above referenced foundationpatent application, creates multidimensional views (strategic,financial, and transformational views) of components to identifystrategic components that carry high costs or have high potential forbusiness improvement. The practice of creating heat maps using manuallabeling of values results in inconsistent and incomplete maps, and lackof scalability. Furthermore, a manual methodology limits heat maps to arelatively flat analysis, because it is difficult to go deeper orbroader (drill-down, roll-up). Manually developed heat maps are limitedto only a small set of KPIs (e.g., cost, revenue).

Industry maps are created from the universal enterprise map, and mapsfor particular enterprises are created from industry maps. What isneeded is an automated method of propagating modifications of these mapsup-stream and down-stream within the chain going from the universal mapto industry maps to maps for particular enterprises within an industry.An automated system would allow consultants to reuse the knowledgeaccumulated in previous engagements.

Defining components with name and short description in maps introducesambiguity and inconsistency, and different interpretations. Similarly,shortfall assessment by visual examination can become tedious andinaccurate, if not impossible, as the number of applications increases.For example, in a single enterprise there may be a thousand or moreapplications for an accounting division.

For the heat map analysis described in the above referenced foundationpatent application, the present invention creates a semantic model ofcomponents and views, such that heat maps can be automatically generatedby using simple semantic queries. It derives values of a component fromthe values of entities associated with the component, and so enablesroot-cause and impact analysis. It extends the analysis to a larger setof KPIs.

For providing consistency across the universal enterprise map, industrymaps, and maps for particular enterprises within an industry, thisinvention captures the relationships among these maps. It provides acontrolled vocabulary for common understanding of terms. It providesbetter, consistent definition of terms. It provides automatictranslation of terms. It propagates (interactively) the modifications tothese maps.

For the shortfall assessment, given a semantic model, gaps, duplication,and over-extension of IT systems can be discovered by semantic queries.The present invention alleviates the need for visual examination.Semantic query will not replace visual CBM; it will complement visualexamination.

The present invention provides a system and method for business analysisusing reasoning on semantic models.

The present invention provides a system and method for businesscomponents and their dependency visualization.

The present invention provides a system and method for semantic model asthe meta-model of is business components.

The present invention provides a system and method for creation ofbusiness models by using existing patterns and templates.

The present invention provides a system and method for creation ofbusiness models by using a simple mouse operation.

The present invention provides a system and method for multiple layersof business component models for the universal enterprise map, industrymaps, and maps for particular enterprises within an industry.

The present invention provides a system and method for saving andreusing business maps.

The present invention provides a system and method for propagation ofchanges in a map across maps in multiple layers.

The present invention provides a system and method for the notion of anontology providing a controlled vocabulary for specific domains such asindustry sectors.

The present invention provides a system and method for businessperformance analysis: automatic reasoning enabling dependency analysisof business components based on business metrics.

The present invention provides a system and method for automaticreasoning enabling dependency analysis (impact analysis) of businesscomponents based on business processes.

The present invention provides a system and method for automaticreasoning enabling dependency analysis of business components based onmessages sent and received among them.

The present invention provides a system and method for automaticgeneration of heatmap analysis of business components: multi-dimensionalanalysis using various attributes of business components.

The present invention provides a system and method for automaticgenerations of shortfall assessments.

The present invention provides a system and method for businessreasoning system allowing both canned queries and ad hoc queries.

The present invention provides a system and method for dependencyanalysis based on temporal relationships of business metrics.

The present invention provides a system and method for benchmarkanalysis using an industry standard frameworks and taxonomies.

The present invention provides a system and method for identification ofredundant and/or overlapping business components.

The present invention provides a system and method for value networkanalysis using semantic models.

The method of the invention analyzes dependencies of components in acomponent model of a business. The method begins by generating asemantic business model by applying a business meta-model to adescription of the business. A component business model of the businessis presented to the user, and then an analytical query of the componentbusiness model is received from the user. The query is then executedthrough the semantic business model to provide a response to the query,and dependencies among components of the component business model areinferred from this execution. The response and the inferred dependenciesare then returned to the user.

The semantic business model is a meta-model of business componentscreated by capturing semantics of business information and representingthe semantics in a semantic markup language. The semantic markuplanguage can be the Resource Description Framework (RDF) or the WebOntology Language (OWL), among others. The semantic business model canbe generated by reusing an existing business semantic model, the reusebeing accomplished using a computer pointing device operation. Thecomputer pointing device operation makes available to the generatedbusiness model business information associated with one or more ofbusiness processes, business activities, resources, services, metrics,and KPIs.

The semantic business model includes business model layers for theparticular enterprise or business, the industry within which theparticular enterprise exists, and the overall enterprise model whichserves as a source of, and a repository for, maps for industries andparticular enterprises. Updates to the component business model arepropagated across these layers. The dependencies can be inferred in anumber of ways. They can be inferred by using KPI associationsrepresented in the semantic business model. They can also be inferred byusing business process associations represented in the semantic businessmodel. Or they can be inferred based on messages sent and received amongcomponents as represented in the semantic business model.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, aspects and advantages will be betterunderstood from the following detailed description of a preferredembodiment of the invention with reference to the drawings, in which:

FIG. 1 is schematic showing a system architecture for the invention.

FIG. 2 is a flowchart showing operation of the invention.

FIG. 3 is a diagram of a business meta-model supporting the invention.

FIG. 4 is a diagram of a semantic business model supporting theinvention.

FIG. 5 is a diagram of a component business model view displayed on abusiness analysis workbench.

FIG. 6 is a conceptual diagram of a semantic engine.

FIG. 7 is a conceptual diagram of a semantic business model forperformance analysis.

FIG. 8 is a diagram of a performance analysis result view on a businessanalysis workbench overlaid on a component business model view.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT OF THE INVENTION

Referring now to the drawings, and more particularly to FIG. 1, there isshown a system architecture for conducting dependency analysis ofbusiness information. The system comprises semantic business models 400which are an ontological representation of businesses and theirprocesses, activities, and components in one or more semantic web markuplanguages. The semantic business models 400 enable reasoning andanalyzing of instances of enterprise business models to inferrelationships of business entities (e.g. key performance indicators andbusiness components) which are previously unknown or not clear from theoriginal business description 110.

The system also comprises a business model generator 120 which generatesthe ontological representation of the semantic business models 400 byinterpreting descriptions of business 110 from various sources invarious forms based on the formalism described in the businessmeta-model 300 representing structure and semantics of businessinformation comprising one or more business entities including, but notlimited to, business components, processes, activities, resources,services, metrics, and KPIs (Key Performance Indicators).

Once a semantic business model 400 has been generated, the businessmodel generator 120 stores the model to the business model repository130. The business model repository 130 is a database of semanticbusiness models 400. It categorizes the models and stores them in apersistent storage medium for use by the semantic engine 600 andbusiness analysis workbench 150.

The semantic engine 600 processes one or more semantic business models400 retrieved from the business model repository 130 for rendering inthe business analysis workbench 150, and also answers queries forinferring dependencies among one or more represented in one or moresemantic business models.

The business analysis workbench 150 uses respective component businessmodel (CBM) views to render one or more semantic business model 400views on one or more computer screens. It also accepts one or moreanalysis queries from one or more users (i.e. business analysts 140),and also renders one or more query results in one or more business modelvisualizations to one or more users 140.

The process of the system of the present invention consists of twoparts: the build-time process where one or more semantic business models400 are created by using the business model generator 120, and therun-time process where one or more business analysts 140 use the createdsemantic business models 400 for business analysis through a businessanalysis workbench 150.

This two part process is shown in FIG. 2. The build-time process starts205 with the generation 210 of a semantic business model 400 by thebusiness model generator 120. The business model generator 120 receivesbusiness description input 110 and interprets the information by usingthe business meta-model 300 which formally describes structure andsemantics of business information comprising one or more businessentities including, but not limited to, business components, processes,activities, resources, services, metrics, and KPIs (Key PerformanceIndicators). As output, the business model generator 120 creates one ormore semantic business model 400. Then the business model generator 120stores 215 the generated semantic business model 400 in the businessmodel repository 130. Then the business model repository 130 categorizes220 the semantic business model 400, storing it with other semanticbusiness models 400 in a persistent storage medium.

The run-time process starts at block 225 when one or more businessanalysts 140 open up the business analysis workbench 150 for an analysisof the business of one or more enterprises. Within the business analysisworkbench 150, at block 230 the business analyst 140 opens one or moretarget business meta-model views 500 for analysis. For the rendering ofthe business model views 500 on the business analysis workbench 150, atblock 235 the semantic engine 600 retrieves one or more semanticbusiness models 400 form the business model repository 130. Then atblock 240 the semantic engine 600 filters and processes the loadedsemantic business models 400 for the visual rendering of the model 500in the business analysis workbench 150. The semantic engine 600 sendsout the processed business model to the workbench 150. Then at block 245the business analysis workbench 150 renders the business model view 500,which is also known as the component business model (CBM) view 500.

Now, at block 250, the business analyst 140 is able to submit analysisqueries to the CBM views 500 on the business analysis workbench 150.When the user submits a query 250 to the workbench 150, the query ispassed 255 to the semantic engine 600. The semantic engine 600 with itsinference/query processing capability finds 260 one or more answers tothe query about the target semantic business model 500 rendered on theworkbench 150. The answers are passed back 265 to the workbench 150 fromthe semantic engine 600. And the workbench 150 renders the query resulton top of the target CBM view 500, thereby updating 270 the CBM view500. This cycle from block 250 to block 270 is then repeated so long asthe business analyst 140 continues to submit analysis queries to the CBMviews 500 on the business analysis workbench 150.

When the business analyst 140 completes the analysis at block 275, thepresent invention provides a number of dependency analyses on semanticbusiness models 400 including performance analysis, processed-basedanalysis, heat map analysis, shortfall assessment analysis, andenforcing consistency among universal business models, industry-specificbusiness models, and enterprise-specific business models. The businessanalyst 140 can iteratively conduct one or more of these analyses on oneor more of business models 500 using the system of the presentinvention. When the business analyst 140 completes his/her analysis onbusiness models 500, the system generates 275 one or more reports on theanalysis results.

FIG. 3 is a formal description of concepts (or classes) in a domain ofdiscourse, i.e., business analysis, properties of each class describingits attributes, and relations with other classes. Furthermore, themeta-model shown in FIG. 3 can also describe logical properties ofrelations such as transitive, symmetric, and inverse, as well describingconstraints on properties such as cardinality. The business meta-model300 shows classes such as KPI 330, business components 320, businessactivities 310, business services 340, resource 350, servicespecification 360, and agreement 370, and the relations among them.

This meta-model 300 can be represented in one or more semantic markuplanguages such as OWL (Web Ontology Language) and RDF (ResourceDescription Framework) whose specification is provided by the WWW (WorldWide Web) Consortium. The ontological representation of the meta-modelallows rich expression of meaning of concepts and their relations in thedomain, and query with automated reasoning.

The business activity class 310 has relationships with five classes inthe meta-model 300. It has the owned activity relation 311 with thebusiness component class 320, the using activity relation 312 with theresource class 350, the requiring activity relation 313 with the servicespecification class 360, and the hasMetric relation 315 with the KPIclass 330.

The business component class 320 also has a number of relationships withother classes in the meta-model 300. It has the sub-component andsuper-component relations 321 to itself. It has the hasMetric 322relation with the KPI class 330, the owning component relation 323 withthe business activity class 310, also the owning component relation 324with the resource class 350, and the providingComponent relation 325with the service class 340.

The KPI (Key Performance Indicator) class 330 also has a number ofrelations with classes in the business meta-model 300. It has thedependentOn relations 331 to itself. It also has the hasMetric relation322 with the business component class 320, the hasMetric relation 315with the activity class 310, the hasMetric relation 353 with theresource class 350, and the hasMetric relation 341 with the serviceclass 340.

The service class 340 also has a number of relations with classesdefined in the business meta-model 300. It has the hasMetric relation341 with the KPI class 330, the providingService relation 342 with thebusiness component class 320, and the implementation relation 343 withthe service specification class 360.

The resource class 350 has a number of relations with the classesdefined in the business meta-model 300. It has the ownedResourcerelation 351 with the business component class 320, the usedResourcerelation 352 with the business activity class 310, and the hasMetricrelation 353 with the KPI class 330.

The service specification class 360 has a number of relations with theclasses defined in the business meta-model 300. It has therequiredSpecification relation 361 with the business activity class 310,the specification relation 362 with the service class 340, and therestrictService relation 363 with the agreement class 370. TherestrictService relation 363 is the only relation which the agreementclass 370 has.

A semantic business model 400 as shown in FIG. 4 is an instance of thebusiness meta-model 300. The semantic business model 400 has a number ofinstances of the classes defined in the business meta-model 300. Therelations among the instances are ones defined in the businessmeta-model 300, which are inherited by the semantic business model 400.This FIG. 4 shows a version 300′ of the business meta-model 300described in the previous FIG. 3. The meta-model 300′ has a number ofclasses including Accountability Level 410, Business Competency 420,Business Component 320, Business Process 430, Business Activity 310, andKPI 330. The meta-model defines a number of relations among theseclasses, including the accountabilityLevel relation 415 between theAccountability Level class 410 and the Business Component class 320, thebusinessCompetency relation 416 between the Business Competency Class420 and the Business Component 320, the businessProcess relation 417between the Business Component class 320 and the Business Process class430, the activity relation 418 between the Business Process class 430and the Business Activity class 310, and, finally, the metric relation419 between the Business Activity class 310 and the KPI class 330.

The classes in the business meta-model 300 or ontology can have one ormore individual instances to represent actual business maps. FIG. 4displays a semantic business model 400 showing some example instances ofthe classes in the meta-model 300. The model 400 shows one instance,Executive Level 411, of the Accountability Level class 410. It shows twoinstances, Customer Relationship 421 and Supply Chain 422, of theBusiness Competency class 420. It shows three instances of the BusinessComponent class 320, that is, Equipment Maintenance and Management 327,Customer Management 328, and the Inventory Management and Tracking 329.

Note that the arrows from the instance 411 of the Accountability Levelclass 410 reach the instances (327, 328, 329) of the Business Componentclass 320. Those arrows represent the accountabilityLevel relation 415among the instances as defined in the meta-model 300′. In a similar way,the arrows from the instances (421, 422) of the Business Competencyclass 420 also reach the instances of the Business Component class 320.Those arrows represent the businessCompetency relation 416 among theinstances as defined in the meta-model 300′.

The semantic business model 400 shows one instance of the BusinessProcess class 430, which is Manage Customer Relationship 431. There arearrows from instances (327, 328, 329) of the Business Component class320 to Manage Customer Relationship 431, representing thebusinessProcess relationship 417 between Business Component class 320and the Business Process class 430, as defined in the meta-model 300′.The model 400 also shows arrows connecting Manage Customer Relationship431 to the four instances of the Business Activity class 310, that is,receive and Process Repair Requests 316, maintain an Efficient CustomerService Call Center 317, Maintain Product Sales History 318, and KeepTrack of Warranty Life Cycles 319. These arrows represent the activityrelationship 418 between business process 430 and business activity 310.

Also note that the instances 327, 328, and 329 of the BusinessComponents 320 are connected by arrows to the instances 316, 317, 318,and 319 of the Business Activity class 310. These arrows represent thehasMetric relation 315 between business activity 310 and KPI 330, asdefined in the meta-model 300′. The instance 431 of the Business Processclass 430 has the activity relation to the instances 316, 317, 318, and319 of the Business Activity class 310, as defined in the meta-model300′. Finally, the instances 316, 317, 318, and 319 of the BusinessActivity class 310 have the metric relation 419 to the instancesCustomer Satisfaction 335, Total Warranty Costs 336, and CustomerService Cycle Time 337of the KPI class 330, as defined in the meta-model300′.

Business process 430 is a group of business activities 310 undertaken byan organization in pursuit of a common goal. Typical business processes430 include receiving orders, marketing services, selling products,delivering services, distributing products, invoicing for services, andaccounting for money received. A business process usually depends uponseveral business functions for support, e.g. IT, personnel, accounting.A business process rarely operates in isolation, i.e., other businessprocesses will depend on it and it will depend on other processes.

Component Business Modeling (CBM) is a technique for modeling anenterprise as non-overlapping components 320 in order to identifyopportunities for innovation and improvement. The modeling is of thebusiness itself, not of applications or technology. CBM is an analyticaltool; some call it a lens through which they can examine and analyze abusiness. CBM is complementary to process modeling techniques. Abusiness process can be interpreted in CBM as collaboration among anetwork of business components. Conversely, from a process perspective,a business component is a closely related group of sub-processes.

As shown in FIG. 5, CBM models a business as a set of businesscomponents (e.g. 530). A business component (item 320 in FIG. 3) is apart of an enterprise that has the potential to operate independently.In an extreme case a business component could operate as a separatecompany, or as part of another company. A business component 320 is alogical view of part of an enterprise that includes the resources,people, technology and know-how necessary to deliver some value.

A business offers goods or services in exchange for money or for othergoods or services. So must a business component 320 if it is to operateindependently. In turn, a business component 320 uses goods and servicesprovided by other components and external suppliers. The single termbusiness service 340 is used to mean some goods or service that abusiness component 320 offers to other business components and/or toexternal parties.

An enterprise can be viewed as a network of semi-independent businesscomponents 320 each of which uses business services which the othersprovide. Value to an external customer is provided by networks ofcooperating business components 320.

The key characteristic of a business component 320 is that a user of itsservices doesn't have to be aware of how the component works. A usertherefore doesn't need to know what people, processes and technology arebeing used, nor what other supplier services are contributing to theresult. The user of a service only knows about the service itself, alongwith whatever associated properties are relevant, for example: theprice, agreed service levels, terms and conditions. If a businesscomponent (e.g. 530) improves its technology, reengineers its internalprocesses or subcontracts some internal operations, its users need notknow.

Business components are only potentially independent. They may beidentified even when they are still entangled with the rest of thebusiness and when the services they offer are not, or are only partlydefined. A business component (e.g. 530) can also be characterized byassociating it with a set of business activities 310. A businessactivity 310 is simply something the enterprise does, specified at alevel that the enterprise considers to be appropriate.

A business component map 500 is a tabular view of the businesscomponents 320 (e.g. 530) in the scope of interest. The columns 520 ofthe table represent business competencies 420 and the rows 510 representaccountability levels 410. The business components 320 (e.g. 530) arerectangles within the table. Normally each component is within only onecell of the table, although a cell may have more than one component.

A business competency 520 is a large business area with characteristicskills and capabilities, for example, product development or supplychain. An accountability level 510 characterizes the scope and intent ofactivity and decision making. The three levels used in CBM aredirecting, controlling and executing.

Directing is about strategy, overall direction and policy, and may beassociated with words like define policy, guidelines, assessperformance, establish plans and targets, decide on strategy.Controlling is about monitoring, managing exceptions and tacticaldecision making, and may be associated with words like troubleshoot,define, maintain, rules and approach, qualify, categorize, track againstplan, manage, manage exceptions, monitor. Executing is about doing thework, and is associated with words like operate, produce, maintain.

Activities 310 can also be mapped into this table. Indeed this is one ofthe ways of identifying components 320 (e.g. 530): take a set ofactivities 310 from a process model or from a set of executiveinterviews; choose a set of business competencies (e.g. 520) to form thecolumns of the table; allocate each activity into a row and column;group the activities 310 in each cell of business component map 500 intobusiness components (e.g. 530).

As shown in FIG. 6, semantic engine 600 is a management system forontologies that provides mechanisms for loading ontologies or semanticbusiness models 400 from files and via the Internet and for locallycreating and modifying ontologies. The semantic engine 600 provides anAPI 615 that provides a programming interface for interacting withontologies (or semantic models 400). An ontology base for ontologies isequivalent to a database for data. A database allows an application toexternalize the storing and processing of data, via a standardinterface, and relieves the program 610 from the burden of deciding howto store the data in files, how to index the data, or how to optimizedqueries.

In the same way, an ontology base allows an application 610 toexternalize the storing and processing of ontologies, via a standardinterface 615 for driver 620, and to manipulate and query an ontologywithout worrying about how the ontology is stored and retrieved, howqueries are processed, etc. A semantic model (or an ontology) is adescription of things that exist, their properties and theirrelationships to each other. It is one way of encoding a model and hasbeen adopted as one layer in the W3C's semantic Web. One use of anontology is to externalize a model and make it easier to customize anapplication, without having to modify code. For example, by usingSnoBase, programmers can write applications that understand ontologieswritten in standard semantic Web markup languages such as RDF, DAML+OILand OWL. Applications can query against the created semantic models 400and the inference engine deduces the answers and returns result setssimilar to JDBC (Java Data Base Connector) result sets.

The semantic engine 600 provides an API 615. The API follows the designpatterns of JDBC. Just like JDBC, the API 615 provides aconnection-based interaction between applications and ontology sources.Also, the API 615 provides cursor-based result sets for representingquery results. The API 615 allows connections to be made withoutreference to a particular base ontology. Such connections provide anaccess to default ontologies of the top-level definitions of XML-basedontology languages such as OWL, RDF, RDF Schema and XML Schema. Thesedefinitions are required in order to process the semantic businessmodels 400.

Conceptually, the application programs 610 interact with the API 615that provides high-level access to ontology resources and the semanticengine kernel 625. The application program 610 interacts with the API615 that provides an access to an implementation of the API via anontology base driver 620.

The driver 620 consists of software classes that will provide animplementation of the API 615, and contains of a number of components: alocal ontology directory 630, an inference engine 635, a working memory645, a query optimizer 640 and a set of connectors 655, and otherinfrastructure needed to support ontology management.

The Ontology Directory 630 provides the meta-level information aboutontologies that are available to the driver 620. By default, theontology directory 630 contains the references to the top-leveldefinitions of OWL, RDF, RDF Schema, XML Schema, and similar definitionsfor the set of XML-based ontology languages supported. In addition, theontology directory 630 provides metadata such as deployment informationand additional sources of ontology information. For each ontologysource, the directory 630 will need to store the Universal ResourceIdentifier or URI, which is an Internet protocol element consisting of ashort string of characters that conform to a certain syntax. The stringcomprises a name or address that can be used to refer to a resource. Forexample, a “URL” is a URI scheme beginning with “http:”. Additionally, aURI may store information about the contents of the ontology source toaid in query optimization.

The Inference Engine 635 provides a mechanism for interpreting thesemantics of an ontology language, represented as a set of languagespecific rules. The rules are used to answer queries, when the requestedfact is not immediately available, but must be inferred from availablefacts. For example, if the application requests the childrenOf anindividual, but the working memory 645 only contains parentOf relations,the inference engine can use the inverse property statements aboutchildrenOf and parentOf to identify the correct response.

For applications that connect to large databases and/or ontologies, itwill not be feasible to load the entire set of available informationinto working memory 645. Instead, the driver 620 will query the ontologysource for appropriate information as it is needed. In addition, thetask of the query optimizer 640 is not only to optimize the retrieval ofinformation from ontology sources, but also coordinate queries that spanmultiple sources.

The Ontology Source Connectors 655 provides a mechanism for reading,querying, and writing ontology information to persistent storage. Thesimplest connector is the file connector used to store information tothe local file system. In addition, there will be connectors for storingontological information in remote servers. Also, the connectors are usedto implement caching of remote information to cache the definitions ofthe top-level ontology definitions OWL, RDF, RDF Schema, and XML Schemato allow the system to work if the W3C Web site were inaccessible.

The semantic engine 600 should also support query languages such as OWLQuery Language (OWL-QL). OWL-QL is a language and protocol supportingagent-to-agent query-answering dialogues using knowledge represented inOWL. It precisely specifies the semantic relations among a query, aquery answer, and the ontology base(s) used to produce the answer. Italso supports query-answering dialogues in which the answering agent mayuse automated reasoning methods to derive answers to queries. An OWL-QLquery contains a query pattern that is a collection of OWL sentences inwhich some literals and/or URIs have been replaced by variables. A queryanswer provides bindings of terms to some of these variables such thatthe conjunction of the answer sentences—produced by applying thebindings to the query pattern and considering the remaining variables inthe query pattern to be existentially quantified—is entailed by aknowledge base (KB) called the answer KB. In addition to OWL-QL, thesemantic engine 600 can also support another ontology query languagesuch as RDQL, whose specification was submitted to W3C for a possiblerecommendation. RDQL is similar to OWL-QL in its underlying querymechanism.

FIG. 7 shows another version of the semantic business model 400. Thissemantic business model 700 shows three classes from the businessmeta-model 300, that is, the KPI class 330 (instantiated by customersatisfaction 335), the Business Activity class 310, and the BusinessComponent class 320. The model 700 shows several instances of theclasses and the relations among them. Particularly, note that thissemantic model shows a business performance metrics tree which consistof a KPI of customer satisfaction 335 and a tree of operational metrics720 which have impact on it. The tree has multiple levels; at the top,there is the KPI Customer Satisfaction Rate 335; at the second level,there are Perfect Order Delivery 721 and the Warranty claims 722 whichdirectly impact on the Customer Satisfaction Rate KPI; at the nextlevel, there are operational metrics 723, 724 that directly have impacton the metrics at the second level; and there is another lower level ofoperational metrics 725. Note that there is a dependsOn relationship 331between the various operational metric levels.

Each of these metrics is associated with one or more business activities310, as shown by arrows the business activities 310 and the operationalmetrics 720, because the operational metrics 720 are used to measure theperformance and efficiency of the business activities. These arrowsrepresent the hasMetric relation 315 between business activities 310 andKey Performance Indicator 330.

Each of the Business Activities 310 is associated with a Businesscomponent 320, as a Business Component 320 is defined as a collection ofBusiness Activities 310. This association is shown by an arrow between aBusiness Component 320 and a constituent Business Activity 310, thearrows representing the ownedActivity relationship 311 between theBusiness Component class 320 and the Business Activity class 310.Through the association of business activities 310 and operationalmetrics 720, business components 320 are indirectly associated with KPIs330 and/or operational metrics 720. The associations among the KPIs,operational metrics, business activities, and business components arerepresented in a semantic business model 400 and 700 in one or moresemantic markup languages such as RDF and OWL, and will be used in theinference of dependencies among business components 320 based on KPIs330 and metrics 720.

The dependency information among business components 320 is useful invarious contexts of business analysis, for example, to understand theimpact of a certain business activity 310 of a business component 320 toone or more other business components 320, to understand the root causeof a certain phenomenon in a business component 320 affected by one ormore other business components 320, to understand the flow of certaindata or messages across multiple business components 320, and tounderstand the control flow of a certain business process acrossmultiple business components 320.

FIG. 8 illustrates use of the business analysis workbench 150. In orderto better analyze the performance of the business, consultants need todetermine which business components 320 are associated with andinfluence a given KPI 330 (such as customer satisfaction 335). Theproblem is that consultants associate KPIs 330 with business components320, when it is more natural to associate KPIs 330 with businessactivities 310. Also, the entire process of identifying the associationis currently done manually; thus it is difficult to perform a deepanalysis of the relationship between business components 320. Thepresent invention provides a solution to this problem by creating asemantic business model 400 and 700 that associates KPIs 330 withbusiness activities 310, and business activities 310 with businesscomponents 320, capturing the relationship between KPIs 330 in thesemantic business model 400 and 700, and providing a mechanism toautomatically infer the dependencies among business components 320.

FIG. 8 shows the dependencies of business components 320 based on theirassociation with KPIs 330 and operational metrics 720, in a componentbusiness model view 500 on the Business Analysis Workbench 150 by usingan overlay 800 on the component business map of FIG. 5. The degree ofthe dependency may be indicated by different styles of texture paintedin business component boxes in the component business map.

In the overlay, the Business Unit Tracking component 810 is directlydependent on two business components, that is, the Sales Planningcomponent 820 and the Sales component 830. In addition, the SalesPlanning component 820 depends on the Customer Dialogue component 840.Hence the Business Unit Tracking component 810 is indirectly dependenton the Customer Dialogue component 840. This indirect dependency isuncovered by the present invention, which represents in a semantic modelthe relationships among business related data such as businesscomponents, processes, activities, operational metrics, and KPIs (KeyPerformance Indicators) of an enterprise and queries the semantic modelto discover non-obvious dependencies among the business entity data forbusiness insights.

We will now review FIGS. 3, 4, 7 and 8 to illustrate use of theinvention. FIG. 7 provides a use scenario or example showing how theinvention works by using the business meta-model 300 and a semanticbusiness model 400, and executing queries on them. Suppose the user isusing an embodiment of this invention for a client engagement. Alsosuppose the client has a business pain point in their customersatisfaction rate 335. Let's say this client's rate is constantlylagging behind that of their competitors. The client wants to get helpfrom their consultants, who are using an embodiment of this invention.

With the client, the first thing the user consultants would do is toconstruct the semantic business model 400 of this client by using thebusiness meta-model 300 as the base structure. The user consultantsfirst identify one or more operational metrics on which the customersatisfaction 335 depends. They can do this task by using several means,e.g., by using industry standard framework on metrics, performanceindicators, and value drivers, and/or by interviewing the staff membersand line of managers of the client company.

In this particular example in FIG. 7, the consultants discover that thecustomer satisfaction rate depends largely on two factors, i.e., perfectorder delivery 721 and warranty claims 722, each of which in turndepends on lower-level metrics as shown in the figure, i.e., rate ofmissing the right order 723, rate of sending wrong quantity and rate ofsending wrong item 725, number of products with defect. Afteridentifying the dependency relationship among performance indicators andoperational metrics, the consultants represent them in a formal model(i.e., in a formal semantic markup language such as RDF or OWL). In theformal model, the dependency relationship is represented by using“dependsOn” relationship 331 in FIG. 3. In an embodiment of theinvention, they use the Business Model Generator 120 to create thisformal representation of dependency relationships.

For the construction of a complete semantic business model 400, userconsultants then discover business activities 310 that are associatedwith the identified performance indicators and operational metrics.Again, this task can be done by using knowledge of the industry standardframework and/or by interviewing domain expert from the client company.In FIG. 7, for an illustrative purpose, one business activity wasidentified for each performance indicator or operational metric. Now therelationships between metrics and business activities can also be addedto the formal model, i.e., the semantic business model 400. Arelationship defined in the Business Meta-model 300, i.e., “hasMetric”315 can be used to represent those between metrics and businessactivities 310. Also, the Business Model Generator 120 will be used foractual editing of the Semantic Business Model 400.

Finally, the consultants can add the Business Components 320 that areassociated with the Business Activities 310 to the Semantic BusinessModel 400. The association can be represented by using the“ownedActivity” relationship 311 defined in the Business Meta-model 310.

Once the Semantic Business Model 400 is constructed and represented in aformal semantic markup language, then it can be loaded up to theSemantic Engine 600 and used to answer queries from the businessanalysts 140. An example of such queries, in relation to the scenariodescribed above (the client wants to pinpoint business components thataffects the comparatively low performance of the company's customersatisfaction rate 335), would be “Find me all the Business Components320 that are associated with a particular performance indicator (e.g.,customer satisfaction rate 335).” Another example would be “Find thedependency relationship among the Business Components 320 associatedwith a performance indicator.” The identified Business Components arereferred to as “hot” components.

The Semantic Engine 600 can answer these queries by following the linksrepresented in the formal model, the Semantic Business Model 400. Itfollows the “dependsOn” 331 links from the customer satisfaction rate335, then (reversely) follows the “hasMetrics” 315 links fromoperational metrics to Business Activities 310, and finally (reversely)follows the “ownedActivity” 311 links from Business Activities 310 toBusiness Components 320. The final destination of following thissequence of links will be the “hot” Business Components. The followingof these links in the formal model, the Semantic Business Model 400, isthe basic idea of the inference capability provided by the SemanticEngine 600.

The identified “hot” business components in this example are shown inFIG. 8. They are Business Unit Tracking 810, Sales Planning 820, Sales830, and Customer Dialogue 840. Their relationship are also inferredfrom the dependency represented by the “dependsOn” relationships amongoperational metrics. So they are the visual representation of theanswers to the example queries given above. The visual display of theCBM view 500 with the answers are shown in the Business AnalysisWorkbench 150.

Again, this is a simple example illustrating the concept. You can do alot more qualitative analysis by applying the ideas of this invention todifferent scenarios and larger scale examples.

In addition to the performance analysis presented in FIG. 8, the presentinvention enables other types of business analyses. We will describe afew concepts here. In order to better analyze the business performance,consultants need to determine how components depend on each other basedon the control flow defined by processes. The problem is that the entireprocess is done manually; thus it is difficult to perform a deepanalysis of the relationship between components. The present inventionprovides a solution to this problem by creating a semantic model thatassociates processes with activities, and activities with components,and providing a mechanism for automatically inferring the dependenciesbetween components.

Business activities are associated with one or more business processes,because a business process is an ordered collection of businessactivities. Also, business activities are associated with one or morebusiness components, as a business component is a collection of businessactivities, as defined earlier. Through the associations with businessactivities, business components are related to business processes. Therelationship can be used in the dependency analysis of businesscomponents based on business processes.

With heat map analysis, business consultants intend to createmultidimensional views (strategic, financial, and transformational view)of components (with color coding) to identify strategic components thatindicate high potential for business improvement or carry high costs.The problem is that the current practice of creating heat maps requiresmanual labeling of values, resulting in inconsistent and incompletemaps, and lack of scalability. Also, the current heat maps provide aflat level analysis, and do not go deeper or broader. In addition,manual techniques limit heat maps to a small set of KPIs (e.g., cost,revenue). The present invention provides a solution to these problems bycreating a semantic model of components and views, such that heat mapscan be automatically generated by using simple semantic queries,deriving values for a component from the values of entities associatedwith the component, and so enable root-cause and impact analysis, andalso extending the analysis to a larger set of KPIs.

The present invention also provides an improved methodology foroverlaying IT systems or applications on a CBM map in order to makeshortfall assessments. Systems are a kind of business assets. Theoverlay shows which components own which system. That is, currentsystems are mapped against the components to identify shortfalls insystems coverage. Three generic issues tend to arise in the shortfallassessment:

-   Gaps: no system exists, the system lacks key functionality, or is    poorly designed/uses the wrong technology for a specific component-   Duplication: multiple systems compete for the same component,    typically adding unnecessary complexity/cost to development,    maintenance and production-   Over-Extension: a system designed to support one component is    extended to help support others, for which it may not have    appropriate capabilities. Furthermore, as a system gets more diverse    or extensive the cost/complexity of its operation increases    exponentially

As the number of applications increase, visual examination would becometedious and inaccurate, if not impossible. For example: a largeenterprise may use over a thousand applications simply in the accountingdivision. The present invention provides a solution to this problem.Given a semantic model, gaps, duplication, and over-extension of ITsystems can be discovered by semantic queries, thereby extending thecapabilities of visual examination. Note that semantic query will notreplace visual CBM; it will complement visual examination.

The present invention may also be used in the creation of componentbusiness maps. Industry maps can be generated from the universalenterprise map. Also, maps for particular enterprises are created fromindustry maps. The problem with existing methods is that the process ofcreating CBM maps is manual. Also, modifications brought to a CBM arenot propagated (up- and down-stream). Furthermore, consultants find itdifficult to reuse the knowledge accumulated in previous engagements.The current practice of defining components with name and shortdescription in maps allows ambiguity and inconsistency, and differentinterpretations.

This present invention provides a solution to these problems bycapturing the relationships among the universal enterprise map, industrymaps, and maps for particular enterprises, providing a controlledvocabulary for common understanding of terms, providing better,consistent definition of terms, providing automatic translation ofterms, and propagating the modifications interactively.

While the invention has been described in terms of a single preferredembodiment, those skilled in the art will recognize that the inventioncan be practiced with modification within the spirit and scope of theappended claims.

1. A method of analyzing dependencies of components in a component modelof a business, comprising: generating a semantic business model byapplying a business meta-model to a description of the business;presenting to a user a component business model of the business, andreceiving from the user an analytical query of the component businessmodel; executing the query through the semantic business model toprovide a response to the query, said executing inferring dependenciesamong components of the component business model; and returning theresponse and said inferred dependencies to the user.
 2. The method ofclaim 1, wherein the semantic business model is a meta-model of businesscomponents created by capturing semantics of business information andrepresenting the semantics in a semantic markup language.
 3. The methodof claim 2, wherein the semantic markup language is drawn from the groupconsisting of Resource Description Framework (RDF) and Web OntologyLanguage (OWL).
 4. The method of claim 1, wherein the semantic businessmodel is generated by reusing an existing business semantic model, thereuse being accomplished using a computer pointing device operation. 5.The method of claim 4, wherein the computer pointing device operationmakes available to the generated business model business informationassociated with one or more of business processes, business activities,resources, services, metrics, and KPIs.
 6. The method of claim 1,wherein the semantic business model includes a universal enterpriselayer, an industry layer, and a particular enterprise layer.
 7. Themethod of claim 6, wherein updates to the component business model arepropagated across said layers.
 8. The method of claim 1, wherein one ofsaid dependencies was inferred by using KPI associations represented inthe semantic business model.
 9. The method of claim 1, wherein one ofsaid dependencies was inferred by using business process associationsrepresented in the semantic business model.
 10. The method of claim 1,wherein one of said dependencies was inferred based on messages sent andreceived among components as represented in the semantic business model.11. A system for analyzing dependencies of components in a componentmodel of a business, comprising: a business model generator forgenerating a semantic business model by applying a business meta-modelto a description of the business; a business analysis workbench forpresenting to a user a component business model of the business, andreceiving from the user an analytical query of the component businessmodel; a semantic engine for executing the query through the semanticbusiness model to provide a response to the query, said executinginferring dependencies among components of the component business model;and means for returning the response and said inferred dependencies tothe user via said workbench.
 12. The system of claim 11, wherein thesemantic business model is a meta-model of business components createdby capturing semantics of business information and representing thesemantics in a semantic markup language.
 13. The system of claim 12,wherein the semantic markup language is drawn from the group consistingof Resource Description Framework (RDF) and Web Ontology Language (OWL).14. The system of claim 11, wherein the semantic business model isgenerated by reusing an existing business semantic model, the reusebeing accomplished using a computer pointing device operation.
 15. Thesystem of claim 14, wherein the computer pointing device operation makesavailable to the generated business model business informationassociated with one or more of business processes, business activities,resources, services, metrics, and KPIs.
 16. The system of claim 11,wherein the semantic business model includes a universal enterpriselayer, an industry layer, and a particular enterprise layer.
 17. Thesystem of claim 16, wherein updates to the component business model arepropagated across said layers.
 18. The system of claim 11, wherein oneof said dependencies was inferred by using KPI associations representedin the semantic business model.
 19. The system of claim 11, wherein oneof said dependencies was inferred by using business process associationsrepresented in the semantic business model.
 20. The system of claim 11,wherein one of said dependencies was inferred based on messages sent andreceived among components as represented in the semantic business model.21. Implementing a service for analyzing dependencies of components in acomponent model of a business, comprising the method of: generating asemantic business model by applying a business meta-model to adescription of the business; presenting to a user a component businessmodel of the business, and receiving from the user an analytical queryof the component business model; executing the query through thesemantic business model to provide a response to the query, saidexecuting inferring dependencies among components of the componentbusiness model; and returning the response and said inferreddependencies to the user.
 22. A computer implemented system foranalyzing dependencies of components in a component model of a business,comprising: first computer code for generating a semantic business modelby applying a business meta-model to a description of the business;second computer code for presenting to a user a component business modelof the business, and receiving from the user an analytical query of thecomponent business model; third computer code for executing the querythrough the semantic business model to provide a response to the query,said executing inferring dependencies among components of the componentbusiness model; and fourth computer code for returning the response andsaid inferred dependencies to the user.